package com.testplatform.aitestplatform.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.testplatform.common.annotation.Excel;
import com.testplatform.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * 需求管理对象 requirement_file
 * 
 * @author ruoyi
 * @date 2025-10-26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="RequirementFile对象", description="需求管理")
public class RequirementFile extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 文件唯一主键ID */
    @ApiModelProperty("文件唯一主键ID")
    private Long id;

    /** 文件名称 */
    @Excel(name = "文件名称")
    @ApiModelProperty("文件名称")
    private String fileName;

    /** 文件在服务器上的存储路径（如果存放在本地或网络存储） */
    @Excel(name = "文件在服务器上的存储路径", readConverterExp = "如=果存放在本地或网络存储")
    @ApiModelProperty("文件在服务器上的存储路径（如果存放在本地或网络存储）")
    private String filePath;

    /** 上传者姓名（冗余字段，便于快速查询） */
    @Excel(name = "上传者姓名", readConverterExp = "冗=余字段，便于快速查询")
    @ApiModelProperty("上传者姓名（冗余字段，便于快速查询）")
    private String uploaderName;

    /** 文件分类，如业务需求、原型图、设计稿 */
    @Excel(name = "文件分类，如业务需求、原型图、设计稿")
    @ApiModelProperty("文件分类，如业务需求、原型图、设计稿")
    private String fileCategory;

    /** 文件描述 */
    @Excel(name = "文件描述")
    @ApiModelProperty("文件描述")
    private String description;

    /** 状态（1:有效，0:逻辑删除） */
    @Excel(name = "状态", readConverterExp = "1=:有效，0:逻辑删除")
    @ApiModelProperty("状态（1:有效，0:逻辑删除）")
    private Long status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createdTime;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("最后修改时间")
    private Date updatedTime;

}
